package Models;

import java.util.List;

import encrypter.Encrypter;

public class Administration {
    private int AdminNumber; //This will always be one as there is only one admin line.
    private String breweryName;
    private String breweryStreetAddress;
    private String breweryCity;
    private String breweryState;
    private String breweryCounty;
    private String breweryZipCode;
    private String breweryPhoneNumber;
    private String breweryEIN;
    private String ttbNumber;
    private String stateNumber;
    private String breweryEmail;
    private String breweryWebsite;
    private Employee billingEmployee;
    private Employee salesEmployee;
    private String billingEmailAddress;
    private String billingEmailPassword;
    private boolean smtpAuth;
    private boolean smtpStartTLS;
    private String smtpAddress;
    private String smtpPort;
    private String emailSubject;
    private String emailBody;
    private boolean notifyOnLowInv;
    private boolean invEmail;
    private boolean invPrintOut;
    private boolean invLabel;
    private boolean invKegList;
    private boolean enableScan;
    private boolean enableMRP;
    private boolean enableTRScanCheck;
    private double coTax;
    private double fedTax;
    //private Blob headerImg;
    //private Blob footerImt;
    private Employee apEmployee;
    private Customer trCustomer;
    private String kegPrefix;
    private boolean googleCalendar;
    private boolean bPlato;
    private boolean bQAEnable;
    private List<LabType> labTypes;
    private boolean bPOS;
    private double systemSize;
    private double distKegDeposit;
    private double nonDistKegDeposit;
    private double ca;
    private double cl;
    private double co3;
    private double mg;
    private double na;
    private double so4;
    private int poDays;
    private List<CommonBrewSupplies> commonBrewSupplies;
    
	public int getAdminNumber() {
		return AdminNumber;
	}
	public void setAdminNumber(int adminNumber) {
		AdminNumber = adminNumber;
	}
	public String getBreweryName() {
		return breweryName;
	}
	public void setBreweryName(String breweryName) {
		this.breweryName = breweryName;
	}
	public String getBreweryStreetAddress() {
		return breweryStreetAddress;
	}
	public void setBreweryStreetAddress(String breweryStreetAddress) {
		this.breweryStreetAddress = breweryStreetAddress;
	}
	public String getBreweryCity() {
		return breweryCity;
	}
	public void setBreweryCity(String breweryCity) {
		this.breweryCity = breweryCity;
	}
	public String getBreweryState() {
		return breweryState;
	}
	public void setBreweryState(String breweryState) {
		this.breweryState = breweryState;
	}
	public String getBreweryCounty() {
		return breweryCounty;
	}
	public void setBreweryCounty(String breweryCounty) {
		this.breweryCounty = breweryCounty;
	}
	public String getBreweryZipCode() {
		return breweryZipCode;
	}
	public void setBreweryZipCode(String breweryZipCode) {
		this.breweryZipCode = breweryZipCode;
	}
	public String getBreweryPhoneNumber() {
		return breweryPhoneNumber;
	}
	public void setBreweryPhoneNumber(String breweryPhoneNumber) {
		this.breweryPhoneNumber = breweryPhoneNumber;
	}
	public String getBreweryEIN() {
		return breweryEIN;
	}
	public void setBreweryEIN(String breweryEIN) {
		this.breweryEIN = breweryEIN;
	}
	public String getTtbNumber() {
		return ttbNumber;
	}
	public void setTtbNumber(String ttbNumber) {
		this.ttbNumber = ttbNumber;
	}
	public String getStateNumber() {
		return stateNumber;
	}
	public void setStateNumber(String stateNumber) {
		this.stateNumber = stateNumber;
	}
	public String getBreweryEmail() {
		return breweryEmail;
	}
	public void setBreweryEmail(String breweryEmail) {
		this.breweryEmail = breweryEmail;
	}
	public String getBreweryWebsite() {
		return breweryWebsite;
	}
	public void setBreweryWebsite(String breweryWebsite) {
		this.breweryWebsite = breweryWebsite;
	}
	public Employee getBillingEmployee() {
		return billingEmployee;
	}
	public void setBillingEmployee(Employee billingEmployee) {
		this.billingEmployee = billingEmployee;
	}
	public Employee getSalesEmployee() {
		return salesEmployee;
	}
	public void setSalesEmployee(Employee salesEmployee) {
		this.salesEmployee = salesEmployee;
	}
	public String getBillingEmailAddress() {
		return billingEmailAddress;
	}
	public void setBillingEmailAddress(String billingEmailAddress) {
		this.billingEmailAddress = billingEmailAddress;
	}
	
	//Billing Email password items.
	public String getBillingEmailPassword() {
		return billingEmailPassword;
	}
	public void setBillingEmailPassword(String billingEmailPassword) {
		this.billingEmailPassword = billingEmailPassword;
	}
    public String decryptBillingEmailPassword(){
        String decrypted = Encrypter.decrypt(this.billingEmailPassword);
        return decrypted;
    }
    public void encryptBillingEmailPassword(final String emailPass){
        String encrypted = Encrypter.encrypt(emailPass);
        this.billingEmailPassword = encrypted;
    }
	
	public boolean isSmtpAuth() {
		return smtpAuth;
	}
	public void setSmtpAuth(boolean smtpAuth) {
		this.smtpAuth = smtpAuth;
	}
	public boolean isSmtpStartTLS() {
		return smtpStartTLS;
	}
	public void setSmtpStartTLS(boolean smtpStartTLS) {
		this.smtpStartTLS = smtpStartTLS;
	}
	public String getSmtpAddress() {
		return smtpAddress;
	}
	public void setSmtpAddress(String smtpAddress) {
		this.smtpAddress = smtpAddress;
	}
	public String getSmtpPort() {
		return smtpPort;
	}
	public void setSmtpPort(String smtpPort) {
		this.smtpPort = smtpPort;
	}
	public String getEmailSubject() {
		return emailSubject;
	}
	public void setEmailSubject(String emailSubject) {
		this.emailSubject = emailSubject;
	}
	public String getEmailBody() {
		return emailBody;
	}
	public void setEmailBody(String emailBody) {
		this.emailBody = emailBody;
	}
	public boolean isNotifyOnLowInv() {
		return notifyOnLowInv;
	}
	public void setNotifyOnLowInv(boolean notifyOnLowInv) {
		this.notifyOnLowInv = notifyOnLowInv;
	}
	public boolean isInvEmail() {
		return invEmail;
	}
	public void setInvEmail(boolean invEmail) {
		this.invEmail = invEmail;
	}
	public boolean isInvPrintOut() {
		return invPrintOut;
	}
	public void setInvPrintOut(boolean invPrintOut) {
		this.invPrintOut = invPrintOut;
	}
	public boolean isInvLabel() {
		return invLabel;
	}
	public void setInvLabel(boolean invLabel) {
		this.invLabel = invLabel;
	}
	public boolean isInvKegList() {
		return invKegList;
	}
	public void setInvKegList(boolean invKegList) {
		this.invKegList = invKegList;
	}
	public boolean isEnableScan() {
		return enableScan;
	}
	public void setEnableScan(boolean enableScan) {
		this.enableScan = enableScan;
	}
	public boolean isEnableMRP() {
		return enableMRP;
	}
	public void setEnableMRP(boolean enableMRP) {
		this.enableMRP = enableMRP;
	}
	public boolean isEnableTRScanCheck() {
		return enableTRScanCheck;
	}
	public void setEnableTRScanCheck(boolean enableTRScanCheck) {
		this.enableTRScanCheck = enableTRScanCheck;
	}
	public double getCoTax() {
		return coTax;
	}
	public void setCoTax(double coTax) {
		this.coTax = coTax;
	}
	public double getFedTax() {
		return fedTax;
	}
	public void setFedTax(double fedTax) {
		this.fedTax = fedTax;
	}
	/*public Blob getHeaderImg() {
		return headerImg;
	}
	public void setHeaderImg(Blob headerImg) {
		this.headerImg = headerImg;
	}
	public Blob getFooterImt() {
		return footerImt;
	}
	public void setFooterImt(Blob footerImt) {
		this.footerImt = footerImt;
	}*/
	public Employee getApEmployee() {
		return apEmployee;
	}
	public void setApEmployee(Employee apEmployee) {
		this.apEmployee = apEmployee;
	}
	public Customer getTrCustomer() {
		return trCustomer;
	}
	public void setTrCustomer(Customer trCustomer) {
		this.trCustomer = trCustomer;
	}
	public String getKegPrefix() {
		return kegPrefix;
	}
	public void setKegPrefix(String kegPrefix) {
		this.kegPrefix = kegPrefix;
	}
	public boolean isGoogleCalendar() {
		return googleCalendar;
	}
	public void setGoogleCalendar(boolean googleCalendar) {
		this.googleCalendar = googleCalendar;
	}
	public boolean isbPlato() {
		return bPlato;
	}
	public void setbPlato(boolean bPlato) {
		this.bPlato = bPlato;
	}
	public boolean isbQAEnable() {
		return bQAEnable;
	}
	public void setbQAEnable(boolean bQAEnable) {
		this.bQAEnable = bQAEnable;
	}
	public List<LabType> getLabTypes() {
		return labTypes;
	}
	public void setLabTypes(List<LabType> labTypes) {
		this.labTypes = labTypes;
	}
	public boolean isbPOS() {
		return bPOS;
	}
	public void setbPOS(boolean bPOS) {
		this.bPOS = bPOS;
	}
	public double getSystemSize() {
		return systemSize;
	}
	public void setSystemSize(double systemSize) {
		this.systemSize = systemSize;
	}
	public double getDistKegDeposit() {
		return distKegDeposit;
	}
	public void setDistKegDeposit(double distKegDeposit) {
		this.distKegDeposit = distKegDeposit;
	}
	public double getNonDistKegDeposit() {
		return nonDistKegDeposit;
	}
	public void setNonDistKegDeposit(double nonDistKegDeposit) {
		this.nonDistKegDeposit = nonDistKegDeposit;
	}
	public double getCa() {
		return ca;
	}
	public void setCa(double ca) {
		this.ca = ca;
	}
	public double getCl() {
		return cl;
	}
	public void setCl(double cl) {
		this.cl = cl;
	}
	public double getCo3() {
		return co3;
	}
	public void setCo3(double co3) {
		this.co3 = co3;
	}
	public double getMg() {
		return mg;
	}
	public void setMg(double mg) {
		this.mg = mg;
	}
	public double getNa() {
		return na;
	}
	public void setNa(double na) {
		this.na = na;
	}
	public double getSo4() {
		return so4;
	}
	public void setSo4(double so4) {
		this.so4 = so4;
	}
	public int getPoDays() {
		return poDays;
	}
	public void setPoDays(int poDays) {
		this.poDays = poDays;
	}
	public List<CommonBrewSupplies> getCommonBrewSupplies() {
		return commonBrewSupplies;
	}
	public void setCommonBrewSupplies(List<CommonBrewSupplies> commonBrewSupplies) {
		this.commonBrewSupplies = commonBrewSupplies;
	}
	
    /*public byte[] getFooterImage(){
        try{
            byte[] bdata = this.footerImt.getBytes(1, (int)this.footerImt.length());
            return bdata;
        }catch (SQLException ex){
        }
        return null;
    }
    public void setFooterImage(final byte[] buff){
        try{
        	Blob blob = null;
        	blob.setBytes(1, buff);
            //Blob blob = new SerialBlob(buff);
            this.footerImt = blob;
        //}catch(SerialException ex){
        }catch(SQLException e){
        }
    }
    
    public byte[] getHeaderImage(){
        try{
            byte[] bdata = this.headerImg.getBytes(1, (int)this.headerImg.length());
            return bdata;
        }catch (SQLException ex){
        }
        return null;
    }
    public void setHeaderImage(final byte[] buff){
        try{
        	Blob blob = null;
        	blob.setBytes(1, buff);
            //Blob blob = new SerialBlob(buff);
            this.headerImg = blob;
        //}catch(SerialException ex){
        }catch(SQLException e){
        }
    }*/

}
